package com.lej.dataservice.club.bean.interact

import com.lej.dataservice.club.bean.comm.MediaInfo


data class FeedListInfo(val feedList: List<FeedInfo>, val timestamp: Long)


data class FeedInfo(
    val feedType: Int,//0是活动，1是动态
//----------------------------base------------------------------------
    val createTime: Long,//发布时间
    //head
    val creatorId: Int,//创作者id
    val nickname: String,//昵称
    val avatar: String,//创作者头像

    //foot
    val likeCount: Int,//点赞数
    val commentCount: Int,//评论数
//----------------------------base------------------------------------


    //权限相关
    val levelId: Int,//可见会员id   (用于跳转到对应会员页面进行开通会员)
    val visible: Int,//0不可见，1可见
    val levelName: String,//可见会员名字


    //动态相关
    val momentId: Int,//动态id
    val momentContent: String,//动态内容
    val momentType: Int,//动态类型，0是文字，1是图片，2是视频，3是外链
    val momentUrls: List<MediaInfo>,//动态列表
    val tagList: List<Tag>,//标签列表


    val postId: Int,//活动id
    val postResourceType: Int,//postType=2的资源类活动类型，1是视频，2是音频
    val postCover: String,//活动封面
    val postSrc: String,//活动资源地址
    val postStatus: Int,//活动状态，1进行中，2预约中，3已开奖
    val postType: Int,//活动类型，0普通动态，1活动，2资源，3=1v1，4抽奖，5兑换码
    val subDetail: String,//活动简介
    val timeAt: Long,//活动发生，开奖时间
    val tipCate: Int,//活动角标样式，1活动蓝色 3文章咖色 4金色 5资源灰色
    val tipTag: String,//活动角标内容
    val title: String,//活动或动态标题
) {

    fun getLocFeedType(): Int {
        if (feedType == 1) {//动态  0是文字，1是图片，2是视频，3是外链
            when (momentType) {//动态类型，0是文字，1是图片，2是视频，3是外链
                0 -> return FEED_NORMAL//文字
                1 -> return FEED_PIC//图片
                2 -> return FEED_VIDEO//视频
                3 -> return FEED_LINK//外链
            }
        } else {//活动
            when (postType) {//活动类型，0普通动态，1活动，2资源，3=1v1，4抽奖，5兑换码
                1 -> return ACTIVITY_NORMAL
                2 -> when (postResourceType) {
                    1 -> return ACTIVITY_VIDEO
                    2 -> return ACTIVITY_AUDIO
                }
//                3 -> return ACTIVITY_1V1//1v1
//                4 -> return ACTIVITY_LOTTERY//抽奖
//                5 -> return ACTIVITY_ACTIVATION_CODE//兑换码
            }
        }
        return FEED_NORMAL
    }

    fun isLock() = visible != ITEM_LOCKED
    fun getLockTitle() = if (isLock()) "已解锁" else "未解锁"

    companion object {
        const val FEED_NORMAL = 0
        //动态-->移动端发布
        const val FEED_VIDEO = 1
        const val FEED_PIC = 2
        const val FEED_LINK = 3
        //活动
        const val ACTIVITY_NORMAL = 6
        const val ACTIVITY_1V1 = 7
        const val ACTIVITY_LOTTERY = 8
        const val ACTIVITY_AUDIO = 9
        const val ACTIVITY_VIDEO = 10
        const val ACTIVITY_ACTIVATION_CODE = 11





        const val ITEM_UN_LOCK = 0
        const val ITEM_LOCKED = 1
    }
}

data class Tag(val name: String, val tagId: Int)

